home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / macros / tip / defauarg.tip < prev    next >
Text File  |  1993-09-15  |  1KB  |  39 lines

  1. % This macro source file is from the four volume series
  2. % "TeX in Practice" by Stephan von Bechtolsheim, published
  3. % 1993 by Springer-Verlag, New York.
  4. % Copyright 1993 Stephan von Bechtolsheim.
  5. % No warranty or liability is assumed.
  6. % This macro may be copied freely if no fees other than
  7. % media cost or shipping charges are charged and as long
  8. % as this copyright and the following source code itself
  9. % is not changed. Please see the series for further information.
  10. %
  11. % Version: 1.0
  12. % Date: May 1, 1993
  13. %
  14. %
  15. % This source code is documented in 23.4.8.1, p. III-266.
  16. % Original source in file "macros3.TEX", starting line 1514.
  17. \wlog{L: "defauarg.tip" ["macros3.TEX," l. 1514, p. III-266]}%
  18. % This file DOES belong to format "texip."
  19. \InputD{gobblemo.tip}
  20. \catcode`\@ = 11
  21. \def\DefaultArg #1#2#3{%
  22.     \def\@DefaultArgMacro{#1}%
  23.     \edef\@EmptyOtherArg{#2}%
  24.     \edef\@DefaultArgDefault{#3}%
  25.     \@DefaultArg #2\@DefaultArgEnd
  26. }
  27. \def\@DefaultArg{%
  28.     \futurelet\@DefaultArgSymbol\@DefaultArgOne
  29. }
  30. \def\@DefaultArgOne{%
  31.     \ifx\@DefaultArgSymbol\@DefaultArgEnd
  32.         \expandafter\edef\@DefaultArgMacro{\@DefaultArgDefault}% 
  33.     \else
  34.         \expandafter\edef\@DefaultArgMacro{\@EmptyOtherArg}% 
  35.     \fi
  36.     \GobbleDoMore{\@DefaultArgEnd}{\relax}%
  37. }
  38. \catcode`\@ = 12
  39.